<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cppMISC: wheels::dm::composite&lt; DATA_TYPE &gt; 模板类 参考</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript" src="../../darkmode_toggle.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">cppMISC<span id="projectnumber">&#160;v1.1</span>
   </div>
   <div id="projectbrief">cppMisc 文档系统</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','搜索',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../df/d8d/namespacewheels.html">wheels</a></li><li class="navelem"><a class="el" href="../../d8/d2d/namespacewheels_1_1dm.html">dm</a></li><li class="navelem"><a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">composite</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-attribs">Protected 属性</a> &#124;
<a href="../../dc/d36/classwheels_1_1dm_1_1composite-members.html">所有成员列表</a>  </div>
  <div class="headertitle"><div class="title">wheels::dm::composite&lt; DATA_TYPE &gt; 模板类 参考</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a>&gt;</code></p>
<div class="dynheader">
wheels::dm::composite&lt; DATA_TYPE &gt; 的协作图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d8/de7/classwheels_1_1dm_1_1composite__coll__graph.png" border="0" usemap="#awheels_1_1dm_1_1composite_3_01_d_a_t_a___t_y_p_e_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="awheels_1_1dm_1_1composite_3_01_d_a_t_a___t_y_p_e_01_4_coll__map" id="awheels_1_1dm_1_1composite_3_01_d_a_t_a___t_y_p_e_01_4_coll__map">
<area shape="rect" title=" " alt="" coords="5,5,181,421"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a35544e3b87c5b39269287c62829267a1" id="r_a35544e3b87c5b39269287c62829267a1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> = typename std::remove_pointer&lt;typename std::decay&lt; DATA_TYPE &gt;::type &gt;::type</td></tr>
<tr class="separator:a35544e3b87c5b39269287c62829267a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa587b1d970586f1d040c77181b3f2124" id="r_aa587b1d970586f1d040c77181b3f2124"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa587b1d970586f1d040c77181b3f2124">composite_t</a> = <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">composite</a>&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt;</td></tr>
<tr class="separator:aa587b1d970586f1d040c77181b3f2124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd2482103a5a98c9e517ba5558d18b0c" id="r_afd2482103a5a98c9e517ba5558d18b0c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afd2482103a5a98c9e517ba5558d18b0c">children_t</a> = std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">composite</a>&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt; &gt; &gt;</td></tr>
<tr class="separator:afd2482103a5a98c9e517ba5558d18b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec09fcb021fe205cb430a2af7ebc1c5b" id="r_aec09fcb021fe205cb430a2af7ebc1c5b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a> = typename children_t::iterator</td></tr>
<tr class="separator:aec09fcb021fe205cb430a2af7ebc1c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a8543c019796f26a49fa5c0145022ba81" id="r_a8543c019796f26a49fa5c0145022ba81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8543c019796f26a49fa5c0145022ba81">composite</a> ()</td></tr>
<tr class="separator:a8543c019796f26a49fa5c0145022ba81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba5db04ec0777ebaae1ad986055c5f7" id="r_a4ba5db04ec0777ebaae1ad986055c5f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4ba5db04ec0777ebaae1ad986055c5f7">composite</a> (std::shared_ptr&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt; p)</td></tr>
<tr class="separator:a4ba5db04ec0777ebaae1ad986055c5f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ec00be907d64dddefbccd302717dddf" id="r_a0ec00be907d64dddefbccd302717dddf"><td class="memTemplParams" colspan="2">template&lt;typename dataType &gt; </td></tr>
<tr class="memitem:a0ec00be907d64dddefbccd302717dddf"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a0ec00be907d64dddefbccd302717dddf">composite</a> (dataType &amp;&amp;data)</td></tr>
<tr class="separator:a0ec00be907d64dddefbccd302717dddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98ef37c471dd8dab10309508460c83b2" id="r_a98ef37c471dd8dab10309508460c83b2"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a98ef37c471dd8dab10309508460c83b2">~composite</a> ()</td></tr>
<tr class="separator:a98ef37c471dd8dab10309508460c83b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2354a38d1281fb6fbc323534d90f8d5c" id="r_a2354a38d1281fb6fbc323534d90f8d5c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2354a38d1281fb6fbc323534d90f8d5c">isLeaf</a> ()</td></tr>
<tr class="memdesc:a2354a38d1281fb6fbc323534d90f8d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">判断是否是叶子节点  <br /></td></tr>
<tr class="separator:a2354a38d1281fb6fbc323534d90f8d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacc3278b82089516e0fff4aea416eabf" id="r_aacc3278b82089516e0fff4aea416eabf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aacc3278b82089516e0fff4aea416eabf">add</a> (<a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &amp;data)</td></tr>
<tr class="separator:aacc3278b82089516e0fff4aea416eabf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab92f4230da211645fc4cb13df79844ad" id="r_ab92f4230da211645fc4cb13df79844ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab92f4230da211645fc4cb13df79844ad">add</a> (std::shared_ptr&lt; <a class="el" href="#aa587b1d970586f1d040c77181b3f2124">composite_t</a> &gt; child)</td></tr>
<tr class="memdesc:ab92f4230da211645fc4cb13df79844ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加子节点  <br /></td></tr>
<tr class="separator:ab92f4230da211645fc4cb13df79844ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e6a196c14a7da2115c9985b00e43fc2" id="r_a0e6a196c14a7da2115c9985b00e43fc2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e6a196c14a7da2115c9985b00e43fc2">remove</a> (<a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a> b, <a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a> e)</td></tr>
<tr class="separator:a0e6a196c14a7da2115c9985b00e43fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49e0b27bdaa260de39dc2fc769dc0ca5" id="r_a49e0b27bdaa260de39dc2fc769dc0ca5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a49e0b27bdaa260de39dc2fc769dc0ca5">remove</a> (<a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a> it)</td></tr>
<tr class="separator:a49e0b27bdaa260de39dc2fc769dc0ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41a89cf16b1db50f4c1e8693957ff6e9" id="r_a41a89cf16b1db50f4c1e8693957ff6e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a41a89cf16b1db50f4c1e8693957ff6e9">remove</a> (std::shared_ptr&lt; <a class="el" href="#aa587b1d970586f1d040c77181b3f2124">composite_t</a> &gt; child)</td></tr>
<tr class="separator:a41a89cf16b1db50f4c1e8693957ff6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3c15ad260554dbd3a21ebbd8e0f5b7e" id="r_ab3c15ad260554dbd3a21ebbd8e0f5b7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3c15ad260554dbd3a21ebbd8e0f5b7e">clear</a> ()</td></tr>
<tr class="memdesc:ab3c15ad260554dbd3a21ebbd8e0f5b7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">清除内容  <br /></td></tr>
<tr class="separator:ab3c15ad260554dbd3a21ebbd8e0f5b7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6271055dd7e1cb171e2018aab1304179" id="r_a6271055dd7e1cb171e2018aab1304179"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6271055dd7e1cb171e2018aab1304179">preOrderTraversal</a> (std::function&lt; bool(<a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> *)&gt; func)</td></tr>
<tr class="memdesc:a6271055dd7e1cb171e2018aab1304179"><td class="mdescLeft">&#160;</td><td class="mdescRight">先序遍历操作  <br /></td></tr>
<tr class="separator:a6271055dd7e1cb171e2018aab1304179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f5824597553f21d6f4c55bb80a74a43" id="r_a5f5824597553f21d6f4c55bb80a74a43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f5824597553f21d6f4c55bb80a74a43">preOrderTraversal</a> (std::function&lt; bool(<a class="el" href="#aa587b1d970586f1d040c77181b3f2124">composite_t</a> *)&gt; func)</td></tr>
<tr class="memdesc:a5f5824597553f21d6f4c55bb80a74a43"><td class="mdescLeft">&#160;</td><td class="mdescRight">先序遍历操作  <br /></td></tr>
<tr class="separator:a5f5824597553f21d6f4c55bb80a74a43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4777c5e6ab8e777034b3049d60519568" id="r_a4777c5e6ab8e777034b3049d60519568"><td class="memTemplParams" colspan="2">template&lt;typename ... PARAMS&gt; </td></tr>
<tr class="memitem:a4777c5e6ab8e777034b3049d60519568"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a4777c5e6ab8e777034b3049d60519568">preOrderTraversalDefault</a> (PARAMS &amp;&amp;...params)</td></tr>
<tr class="memdesc:a4777c5e6ab8e777034b3049d60519568"><td class="mdescLeft">&#160;</td><td class="mdescRight">先序遍历操作  <br /></td></tr>
<tr class="separator:a4777c5e6ab8e777034b3049d60519568"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b6b7bc2aa69824af6ee71a78d43fc97" id="r_a6b6b7bc2aa69824af6ee71a78d43fc97"><td class="memTemplParams" colspan="2">template&lt;typename ... PARAMS&gt; </td></tr>
<tr class="memitem:a6b6b7bc2aa69824af6ee71a78d43fc97"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a6b6b7bc2aa69824af6ee71a78d43fc97">for_eachDefault</a> (PARAMS &amp;&amp;... params)</td></tr>
<tr class="memdesc:a6b6b7bc2aa69824af6ee71a78d43fc97"><td class="mdescLeft">&#160;</td><td class="mdescRight">for_eachDefault  <br /></td></tr>
<tr class="separator:a6b6b7bc2aa69824af6ee71a78d43fc97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6933767c028e20b7c9226c6af8249cd" id="r_ad6933767c028e20b7c9226c6af8249cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad6933767c028e20b7c9226c6af8249cd">for_each</a> (std::function&lt; void(<a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> *) &gt; fun)</td></tr>
<tr class="memdesc:ad6933767c028e20b7c9226c6af8249cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">本层遍历  <br /></td></tr>
<tr class="separator:ad6933767c028e20b7c9226c6af8249cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a985b2c27710affbb1d15d4abca4cec00" id="r_a985b2c27710affbb1d15d4abca4cec00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a985b2c27710affbb1d15d4abca4cec00">get</a> ()</td></tr>
<tr class="separator:a985b2c27710affbb1d15d4abca4cec00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af03de7a732846907c21f5bac29c28c59" id="r_af03de7a732846907c21f5bac29c28c59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af03de7a732846907c21f5bac29c28c59">begin</a> ()</td></tr>
<tr class="separator:af03de7a732846907c21f5bac29c28c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac926fc472823057a26e0cb6bff8c4c36" id="r_ac926fc472823057a26e0cb6bff8c4c36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac926fc472823057a26e0cb6bff8c4c36">end</a> ()</td></tr>
<tr class="separator:ac926fc472823057a26e0cb6bff8c4c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:a95c4abddafa272604354b724027500fd" id="r_a95c4abddafa272604354b724027500fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#afd2482103a5a98c9e517ba5558d18b0c">children_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a95c4abddafa272604354b724027500fd">m_children__</a></td></tr>
<tr class="separator:a95c4abddafa272604354b724027500fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a551849e74ae83615076eaf80bf7cf624" id="r_a551849e74ae83615076eaf80bf7cf624"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a551849e74ae83615076eaf80bf7cf624">p_obj__</a></td></tr>
<tr class="separator:a551849e74ae83615076eaf80bf7cf624"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename DATA_TYPE&gt;<br />
class wheels::dm::composite&lt; DATA_TYPE &gt;</div>
<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00040">40</a> 行定义.</p>
</div><h2 class="groupheader">成员类型定义说明</h2>
<a id="afd2482103a5a98c9e517ba5558d18b0c" name="afd2482103a5a98c9e517ba5558d18b0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd2482103a5a98c9e517ba5558d18b0c">&#9670;&#160;</a></span>children_t</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::children_t = std::vector&lt; std::shared_ptr&lt; <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">composite</a>&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt; &gt; &gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00048">48</a> 行定义.</p>

</div>
</div>
<a id="aa587b1d970586f1d040c77181b3f2124" name="aa587b1d970586f1d040c77181b3f2124"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa587b1d970586f1d040c77181b3f2124">&#9670;&#160;</a></span>composite_t</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::composite_t = <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">composite</a>&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00047">47</a> 行定义.</p>

</div>
</div>
<a id="aec09fcb021fe205cb430a2af7ebc1c5b" name="aec09fcb021fe205cb430a2af7ebc1c5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec09fcb021fe205cb430a2af7ebc1c5b">&#9670;&#160;</a></span>iterator</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::iterator = typename children_t::iterator</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00049">49</a> 行定义.</p>

</div>
</div>
<a id="a35544e3b87c5b39269287c62829267a1" name="a35544e3b87c5b39269287c62829267a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35544e3b87c5b39269287c62829267a1">&#9670;&#160;</a></span>type_t</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::type_t = typename std::remove_pointer&lt;typename std::decay&lt; DATA_TYPE &gt;::type &gt;::type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00043">43</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">构造及析构函数说明</h2>
<a id="a8543c019796f26a49fa5c0145022ba81" name="a8543c019796f26a49fa5c0145022ba81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8543c019796f26a49fa5c0145022ba81">&#9670;&#160;</a></span>composite() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::composite </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00051">51</a> 行定义.</p>

</div>
</div>
<a id="a4ba5db04ec0777ebaae1ad986055c5f7" name="a4ba5db04ec0777ebaae1ad986055c5f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ba5db04ec0777ebaae1ad986055c5f7">&#9670;&#160;</a></span>composite() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::composite </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt;</td>          <td class="paramname"><span class="paramname"><em>p</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00052">52</a> 行定义.</p>

</div>
</div>
<a id="a0ec00be907d64dddefbccd302717dddf" name="a0ec00be907d64dddefbccd302717dddf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ec00be907d64dddefbccd302717dddf">&#9670;&#160;</a></span>composite() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<div class="memtemplate">
template&lt;typename dataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::composite </td>
          <td>(</td>
          <td class="paramtype">dataType &amp;&amp;</td>          <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00055">55</a> 行定义.</p>

</div>
</div>
<a id="a98ef37c471dd8dab10309508460c83b2" name="a98ef37c471dd8dab10309508460c83b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98ef37c471dd8dab10309508460c83b2">&#9670;&#160;</a></span>~composite()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::~<a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">composite</a> </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00059">59</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="ab92f4230da211645fc4cb13df79844ad" name="ab92f4230da211645fc4cb13df79844ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab92f4230da211645fc4cb13df79844ad">&#9670;&#160;</a></span>add() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::add </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="#aa587b1d970586f1d040c77181b3f2124">composite_t</a> &gt;</td>          <td class="paramname"><span class="paramname"><em>child</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>添加子节点 </p>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00071">71</a> 行定义.</p>

</div>
</div>
<a id="aacc3278b82089516e0fff4aea416eabf" name="aacc3278b82089516e0fff4aea416eabf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacc3278b82089516e0fff4aea416eabf">&#9670;&#160;</a></span>add() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>data</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00064">64</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../da/d8b/classwheels_1_1dm_1_1composite_aacc3278b82089516e0fff4aea416eabf_icgraph.png" border="0" usemap="#ada/d8b/classwheels_1_1dm_1_1composite_aacc3278b82089516e0fff4aea416eabf_icgraph" alt=""/></div>
<map name="ada/d8b/classwheels_1_1dm_1_1composite_aacc3278b82089516e0fff4aea416eabf_icgraph" id="ada/d8b/classwheels_1_1dm_1_1composite_aacc3278b82089516e0fff4aea416eabf_icgraph">
<area shape="rect" title=" " alt="" coords="206,5,391,32"/>
<area shape="rect" href="../../dd/d30/classwheels_1_1conf_d_o_m.html#a94de9633cc8093d95d8b4d3df9516276" title="修改变量值。如果变量不存在则增加变量" alt="" coords="5,5,158,32"/>
<area shape="poly" title=" " alt="" coords="191,21,158,21,158,16,191,16"/>
</map>
</div>

</div>
</div>
<a id="af03de7a732846907c21f5bac29c28c59" name="af03de7a732846907c21f5bac29c28c59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af03de7a732846907c21f5bac29c28c59">&#9670;&#160;</a></span>begin()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a> <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::begin </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00211">211</a> 行定义.</p>

</div>
</div>
<a id="ab3c15ad260554dbd3a21ebbd8e0f5b7e" name="ab3c15ad260554dbd3a21ebbd8e0f5b7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3c15ad260554dbd3a21ebbd8e0f5b7e">&#9670;&#160;</a></span>clear()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::clear </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>清除内容 </p>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00097">97</a> 行定义.</p>

</div>
</div>
<a id="ac926fc472823057a26e0cb6bff8c4c36" name="ac926fc472823057a26e0cb6bff8c4c36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac926fc472823057a26e0cb6bff8c4c36">&#9670;&#160;</a></span>end()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a> <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::end </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00212">212</a> 行定义.</p>

</div>
</div>
<a id="ad6933767c028e20b7c9226c6af8249cd" name="ad6933767c028e20b7c9226c6af8249cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6933767c028e20b7c9226c6af8249cd">&#9670;&#160;</a></span>for_each()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::for_each </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> *) &gt;</td>          <td class="paramname"><span class="paramname"><em>fun</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>本层遍历 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">fun</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00202">202</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../da/d8b/classwheels_1_1dm_1_1composite_ad6933767c028e20b7c9226c6af8249cd_icgraph.png" border="0" usemap="#ada/d8b/classwheels_1_1dm_1_1composite_ad6933767c028e20b7c9226c6af8249cd_icgraph" alt=""/></div>
<map name="ada/d8b/classwheels_1_1dm_1_1composite_ad6933767c028e20b7c9226c6af8249cd_icgraph" id="ada/d8b/classwheels_1_1dm_1_1composite_ad6933767c028e20b7c9226c6af8249cd_icgraph">
<area shape="rect" title="本层遍历" alt="" coords="206,48,362,91"/>
<area shape="rect" href="../../dd/d30/classwheels_1_1conf_d_o_m.html#a07a9d7b14a1c7f4dd0e66086e6811293" title="切换当前的路径" alt="" coords="7,5,156,32"/>
<area shape="poly" title=" " alt="" coords="190,49,137,35,138,30,191,43"/>
<area shape="rect" href="../../dd/d30/classwheels_1_1conf_d_o_m.html#ae862046d056cea7863de99537845eb98" title="获取数据。" alt="" coords="5,56,158,83"/>
<area shape="poly" title=" " alt="" coords="190,72,158,72,158,67,190,67"/>
<area shape="rect" href="../../dd/d30/classwheels_1_1conf_d_o_m.html#a94de9633cc8093d95d8b4d3df9516276" title="修改变量值。如果变量不存在则增加变量" alt="" coords="5,107,158,133"/>
<area shape="poly" title=" " alt="" coords="191,95,138,109,137,104,190,90"/>
</map>
</div>

</div>
</div>
<a id="a6b6b7bc2aa69824af6ee71a78d43fc97" name="a6b6b7bc2aa69824af6ee71a78d43fc97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b6b7bc2aa69824af6ee71a78d43fc97">&#9670;&#160;</a></span>for_eachDefault()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<div class="memtemplate">
template&lt;typename ... PARAMS&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::for_eachDefault </td>
          <td>(</td>
          <td class="paramtype">PARAMS &amp;&amp;...</td>          <td class="paramname"><span class="paramname"><em>params</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>for_eachDefault </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">params</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00190">190</a> 行定义.</p>

</div>
</div>
<a id="a985b2c27710affbb1d15d4abca4cec00" name="a985b2c27710affbb1d15d4abca4cec00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a985b2c27710affbb1d15d4abca4cec00">&#9670;&#160;</a></span>get()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> * <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::get </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00209">209</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../da/d8b/classwheels_1_1dm_1_1composite_a985b2c27710affbb1d15d4abca4cec00_icgraph.png" border="0" usemap="#ada/d8b/classwheels_1_1dm_1_1composite_a985b2c27710affbb1d15d4abca4cec00_icgraph" alt=""/></div>
<map name="ada/d8b/classwheels_1_1dm_1_1composite_a985b2c27710affbb1d15d4abca4cec00_icgraph" id="ada/d8b/classwheels_1_1dm_1_1composite_a985b2c27710affbb1d15d4abca4cec00_icgraph">
<area shape="rect" title=" " alt="" coords="206,5,388,32"/>
<area shape="rect" href="../../dd/d30/classwheels_1_1conf_d_o_m.html#ae862046d056cea7863de99537845eb98" title="获取数据。" alt="" coords="5,5,158,32"/>
<area shape="poly" title=" " alt="" coords="190,21,158,21,158,16,190,16"/>
</map>
</div>

</div>
</div>
<a id="a2354a38d1281fb6fbc323534d90f8d5c" name="a2354a38d1281fb6fbc323534d90f8d5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2354a38d1281fb6fbc323534d90f8d5c">&#9670;&#160;</a></span>isLeaf()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::isLeaf </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>判断是否是叶子节点 </p>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00063">63</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../da/d8b/classwheels_1_1dm_1_1composite_a2354a38d1281fb6fbc323534d90f8d5c_icgraph.png" border="0" usemap="#ada/d8b/classwheels_1_1dm_1_1composite_a2354a38d1281fb6fbc323534d90f8d5c_icgraph" alt=""/></div>
<map name="ada/d8b/classwheels_1_1dm_1_1composite_a2354a38d1281fb6fbc323534d90f8d5c_icgraph" id="ada/d8b/classwheels_1_1dm_1_1composite_a2354a38d1281fb6fbc323534d90f8d5c_icgraph">
<area shape="rect" title="判断是否是叶子节点" alt="" coords="229,72,385,115"/>
<area shape="rect" href="../../da/d8b/classwheels_1_1dm_1_1composite.html#a5f5824597553f21d6f4c55bb80a74a43" title="先序遍历操作" alt="" coords="15,5,171,48"/>
<area shape="poly" title=" " alt="" coords="221,69,163,51,165,46,223,64"/>
<area shape="rect" href="../../da/d8b/classwheels_1_1dm_1_1composite.html#a6271055dd7e1cb171e2018aab1304179" title="先序遍历操作" alt="" coords="15,72,171,115"/>
<area shape="poly" title=" " alt="" coords="213,96,172,96,172,91,213,91"/>
<area shape="rect" href="../../da/d8b/classwheels_1_1dm_1_1composite.html#a4777c5e6ab8e777034b3049d60519568" title="先序遍历操作" alt="" coords="5,139,181,181"/>
<area shape="poly" title=" " alt="" coords="223,122,165,141,163,135,221,117"/>
</map>
</div>

</div>
</div>
<a id="a5f5824597553f21d6f4c55bb80a74a43" name="a5f5824597553f21d6f4c55bb80a74a43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f5824597553f21d6f4c55bb80a74a43">&#9670;&#160;</a></span>preOrderTraversal() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::preOrderTraversal </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="#aa587b1d970586f1d040c77181b3f2124">composite_t</a> *)&gt;</td>          <td class="paramname"><span class="paramname"><em>func</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>先序遍历操作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">func[</td><td>I ]， 回调函数，返回true继续遍历，否则结束遍历操作 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00132">132</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../da/d8b/classwheels_1_1dm_1_1composite_a5f5824597553f21d6f4c55bb80a74a43_cgraph.png" border="0" usemap="#ada/d8b/classwheels_1_1dm_1_1composite_a5f5824597553f21d6f4c55bb80a74a43_cgraph" alt=""/></div>
<map name="ada/d8b/classwheels_1_1dm_1_1composite_a5f5824597553f21d6f4c55bb80a74a43_cgraph" id="ada/d8b/classwheels_1_1dm_1_1composite_a5f5824597553f21d6f4c55bb80a74a43_cgraph">
<area shape="rect" title="先序遍历操作" alt="" coords="5,5,162,48"/>
<area shape="rect" href="../../da/d8b/classwheels_1_1dm_1_1composite.html#a2354a38d1281fb6fbc323534d90f8d5c" title="判断是否是叶子节点" alt="" coords="210,5,366,48"/>
<area shape="poly" title=" " alt="" coords="162,24,195,24,195,29,162,29"/>
</map>
</div>

</div>
</div>
<a id="a6271055dd7e1cb171e2018aab1304179" name="a6271055dd7e1cb171e2018aab1304179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6271055dd7e1cb171e2018aab1304179">&#9670;&#160;</a></span>preOrderTraversal() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::preOrderTraversal </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; bool(<a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> *)&gt;</td>          <td class="paramname"><span class="paramname"><em>func</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>先序遍历操作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">func[</td><td>I ]， 回调函数，返回true继续遍历，否则结束遍历操作 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00105">105</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../da/d8b/classwheels_1_1dm_1_1composite_a6271055dd7e1cb171e2018aab1304179_cgraph.png" border="0" usemap="#ada/d8b/classwheels_1_1dm_1_1composite_a6271055dd7e1cb171e2018aab1304179_cgraph" alt=""/></div>
<map name="ada/d8b/classwheels_1_1dm_1_1composite_a6271055dd7e1cb171e2018aab1304179_cgraph" id="ada/d8b/classwheels_1_1dm_1_1composite_a6271055dd7e1cb171e2018aab1304179_cgraph">
<area shape="rect" title="先序遍历操作" alt="" coords="5,5,162,48"/>
<area shape="rect" href="../../da/d8b/classwheels_1_1dm_1_1composite.html#a2354a38d1281fb6fbc323534d90f8d5c" title="判断是否是叶子节点" alt="" coords="210,5,366,48"/>
<area shape="poly" title=" " alt="" coords="162,24,195,24,195,29,162,29"/>
</map>
</div>

</div>
</div>
<a id="a4777c5e6ab8e777034b3049d60519568" name="a4777c5e6ab8e777034b3049d60519568"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4777c5e6ab8e777034b3049d60519568">&#9670;&#160;</a></span>preOrderTraversalDefault()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<div class="memtemplate">
template&lt;typename ... PARAMS&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::preOrderTraversalDefault </td>
          <td>(</td>
          <td class="paramtype">PARAMS &amp;&amp;...</td>          <td class="paramname"><span class="paramname"><em>params</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>先序遍历操作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">func[</td><td>I ]， 回调函数，返回true继续遍历，否则结束遍历操作 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00160">160</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../da/d8b/classwheels_1_1dm_1_1composite_a4777c5e6ab8e777034b3049d60519568_cgraph.png" border="0" usemap="#ada/d8b/classwheels_1_1dm_1_1composite_a4777c5e6ab8e777034b3049d60519568_cgraph" alt=""/></div>
<map name="ada/d8b/classwheels_1_1dm_1_1composite_a4777c5e6ab8e777034b3049d60519568_cgraph" id="ada/d8b/classwheels_1_1dm_1_1composite_a4777c5e6ab8e777034b3049d60519568_cgraph">
<area shape="rect" title="先序遍历操作" alt="" coords="5,5,181,48"/>
<area shape="rect" href="../../da/d8b/classwheels_1_1dm_1_1composite.html#a2354a38d1281fb6fbc323534d90f8d5c" title="判断是否是叶子节点" alt="" coords="229,5,385,48"/>
<area shape="poly" title=" " alt="" coords="181,24,213,24,213,29,181,29"/>
</map>
</div>

</div>
</div>
<a id="a0e6a196c14a7da2115c9985b00e43fc2" name="a0e6a196c14a7da2115c9985b00e43fc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e6a196c14a7da2115c9985b00e43fc2">&#9670;&#160;</a></span>remove() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a></td>          <td class="paramname"><span class="paramname"><em>b</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a></td>          <td class="paramname"><span class="paramname"><em>e</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00076">76</a> 行定义.</p>

</div>
</div>
<a id="a49e0b27bdaa260de39dc2fc769dc0ca5" name="a49e0b27bdaa260de39dc2fc769dc0ca5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49e0b27bdaa260de39dc2fc769dc0ca5">&#9670;&#160;</a></span>remove() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="#aec09fcb021fe205cb430a2af7ebc1c5b">iterator</a></td>          <td class="paramname"><span class="paramname"><em>it</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00080">80</a> 行定义.</p>

</div>
</div>
<a id="a41a89cf16b1db50f4c1e8693957ff6e9" name="a41a89cf16b1db50f4c1e8693957ff6e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41a89cf16b1db50f4c1e8693957ff6e9">&#9670;&#160;</a></span>remove() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::remove </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="#aa587b1d970586f1d040c77181b3f2124">composite_t</a> &gt;</td>          <td class="paramname"><span class="paramname"><em>child</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00084">84</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">类成员变量说明</h2>
<a id="a95c4abddafa272604354b724027500fd" name="a95c4abddafa272604354b724027500fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95c4abddafa272604354b724027500fd">&#9670;&#160;</a></span>m_children__</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#afd2482103a5a98c9e517ba5558d18b0c">children_t</a> <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::m_children__</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00214">214</a> 行定义.</p>

</div>
</div>
<a id="a551849e74ae83615076eaf80bf7cf624" name="a551849e74ae83615076eaf80bf7cf624"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a551849e74ae83615076eaf80bf7cf624">&#9670;&#160;</a></span>p_obj__</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DATA_TYPE &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt; <a class="el" href="#a35544e3b87c5b39269287c62829267a1">type_t</a> &gt; <a class="el" href="../../da/d8b/classwheels_1_1dm_1_1composite.html">wheels::dm::composite</a>&lt; DATA_TYPE &gt;::p_obj__</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a> 第 <a class="el" href="../../d5/dfc/composite_8hpp_source.html#l00215">215</a> 行定义.</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>include/designM/<a class="el" href="../../d5/dfc/composite_8hpp_source.html">composite.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
